package com.zatech.cgnci.project.service;

import com.zatech.cgnci.project.dto.*;
import com.zatech.cgnci.project.entity.CgnciClaimSettlementTaskDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zatech.cgnci.project.vo.ApprovalConfigVO;
import com.zatech.cgnci.project.vo.CgnciClaimSettlementResultVO;
import com.zatech.cgnci.project.vo.CgnciClaimSettlementVO;

import java.util.List;

/**
 * <p>
 * 分入结算主表-任务 服务类
 * </p>
 *
 * @author Generator
 * @since 2024-12-25
 */
public interface CgnciClaimSettlementTaskService extends IService<CgnciClaimSettlementTaskDO> {

    List<CgnciClaimSettlementVO> settlementTaskListByBusinessNo(String businessNo);

    CgnciClaimSettlementResultVO createSavePrepay(CgnciClaimSettlementDTO settlementDTO);

    CgnciClaimSettlementResultVO createSaveSettlement(CgnciClaimSettlementDTO settlementDTO);

    CgnciClaimSettlementResultVO submitSettlement(CgnciClaimSettlementSubmitDTO req);

    void approveSettlement(CgnciClaimCaseCheckDTO req);

    void backSettlement(CgnciClaimCaseCheckDTO req);

    List<ApprovalConfigVO> listBackNode(String taskNo);

    void delSettlementDetail(CgnciClaimDelDTO req);

    void delSettlementReinsurer(Long reinsurerId, String sourceType);

    void logOffCase(String taskNo);

    void delSettlement(Long settlementId);

    void createCheck(String caseNo, String settlementType);

    Boolean submitCheck(SettlementQueryDTO req);
}
